#include <cstdio>
#include <cstdlib>


/**
* @CreateTime 2024/12/10
* @Author yulongsun
* @brief 模拟内存泄漏：分配了内存但没有释放，没有调用 free(ptr); 导致内存无法释放，发生内存泄漏
*/
void simulateMemoryLeak()
{
    // 动态分配内存
    int *ptr = (int *) malloc(100 * sizeof(int));  // 分配一个整型数组的内存

    if (ptr == NULL)
    {
        // 检查内存是否分配成功
        printf("内存分配失败！\n");
        return;
    }

    ptr[0] = 10;  // 对分配的内存进行操作
    printf("内存分配成功，ptr[0] = %d\n", ptr[0]);

    // free(ptr);  // 如果此行被注释掉，内存泄漏就会发生
}


int main()
{
    printf("程序开始...\n");

    // 模拟内存泄漏
    simulateMemoryLeak();

    printf("程序结束...\n");

    return 0;
}


